home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / nyan_e2 / nyane2_f.plp < prev    next >
Text File  |  1993-11-30  |  16KB  |  768 lines

  1. /**********   ファイルマネージャ  v1.04a用   ***********/
  2. var objfile[15];
  3. var objpath[80];
  4. var tarfile[15];
  5. var tarpath[80];
  6. var newdir[8];
  7. var newdir2[9];
  8. var nowdir[80];
  9. var lhadir[35];
  10.  
  11. %lha        {lha };
  12. %ish        {ish };
  13. %size        {lc };
  14. %remain        {free };
  15. %dirsize    {dskuse };
  16. %dircopy    {dircpy };
  17. %deldir        {deldir };
  18. %format        {format };
  19. %diskcopy    {diskcopy };
  20. %tree        {tree };
  21. %move        {zcopy /m };
  22. %tmpfile    tmpdir|{\_tmpfile.dat};
  23.  
  24. case(current<>tmpdir,{Yes},{lhadir:={-w}|tmpdir|{ }});
  25.  
  26. %YES{ im({Yes}); };
  27.  
  28. %NO{ im({No}); };
  29.  
  30. %kakunin{
  31.     footnote({確認},{b});
  32.     loop({waitx(9999); im(@PFK(@xtype)!=101)});
  33.     footnote({});
  34. };
  35.  
  36. %YesNo2{[MSG,CMD]
  37.     loop({
  38.         select(MSG,9999,{YES;
  39.         },{ O K },{CMD;
  40.         },{ N G },{NO;
  41.         });
  42.     });
  43. };
  44.  
  45. %delmemo{
  46.     case(@mcheck,0,{mopen(1)}); mclose(3);
  47. };
  48.  
  49. %same{[OPR,OPT,MSG]
  50.     footnote({});
  51.     display({\n\n});
  52.     command(OPR|objpath|{\}|objfile|OPT);
  53.     display(MSG);
  54. };
  55.  
  56. %Dsame{[OPR]
  57.     footnote({});
  58.     display({\n\n});
  59.     command(OPR|objpath);
  60.     kakunin;
  61. };
  62.  
  63. %cpychk{[MSG,OPR]
  64.     footnote(MSG|{ファイル名を指定してください (「.」で元ファイルと同名)});
  65.     tarfile:=@filesel;
  66.     case(tarfile<>{},{Yes},{
  67.         case(tarfile={.} || tarfile={.},{Yes},{tarfile:=objfile});
  68.         case(@filechk(tarfile),
  69.         {Yes},{    case(@getcdir2<>objpath,
  70.             {Yes},{
  71.                   footnote({ 現在 「}|tarfile|{」 を選択しています});
  72.                 select({ ファイルが既に存在します},999,,
  73.                 { 置き換える },{OPR;
  74.                 },{ キャンセル },{
  75.                 });
  76.             },{No},{
  77.                 select({ 元のディレクトリです},5,,{  OK? });
  78.             });
  79.         },{No},{ OPR;
  80.         });
  81.     });
  82. };
  83.  
  84. %period{[MSG]
  85.     footnote({ }|MSG|{ディレクトリに移動して,ピリオド「.」を入力してください});
  86. };
  87.  
  88. %askdir{
  89.     newdir2:={};
  90.     newdir:=@input({ 作成するディレクトリ名を入れてください\n}|
  91.               { (空入力または右クリックで制作しません)});
  92.     case(newdir<>{},{Yes},{newdir2:={\}|newdir});
  93. };
  94.  
  95. %makedir{
  96.     case(newdir<>{},{Yes},{
  97.         command({MD }|newdir);
  98.         command({CD }|newdir);
  99.     });
  100. };
  101.  
  102. %getarcfile{[MEMO,OPR]
  103.     tarfile:=@head(@getchar(@memo(MEMO,@xlinenum,1),3,12),{ });
  104.     case(tarfile<>{} && tarfile<>{------------} && tarfile<>{sting} &&
  105.          tarfile<>{Name},{Yes},{OPR;
  106.     });
  107. };
  108.  
  109. %right{右クリックで 「終了」 します};
  110.  
  111. %fsmsg{[MSG]
  112.     footnote({ }|MSG|{するファイルを選んでください (右クリックで終了)});
  113. };
  114.  
  115. %HeadTail{[CMD]
  116.     dispoff({Yes});
  117.     command(CMD|{ -80 }|objpath|{\}|objfile|{ > }|tmpfile);
  118.     mread(tmpfile);
  119.     mopen(1,0,21,639,459,{r});
  120.     footnote({終了},{b});
  121.     loop({waitx(9999); im(@PFK(@xtype)!=101)});
  122.     footnote({});
  123.     command({DEL }|tmpfile);
  124.     allclear;
  125.     dispoff({No});
  126. };
  127.  
  128. %fcopy{
  129.     cpychk({ 複写先},{
  130.         command({COPY }|objpath|{\}|objfile|{ }|tarfile);
  131.     });
  132. };
  133.  
  134. %fdel{
  135.     footnote({});
  136.     case(@YesNo({ 「}|objpath|{\}|objfile|{」 を削除します}),{Yes},{
  137.         command({DEL }|objpath|{\}|objfile);
  138.     });
  139. };
  140.  
  141. %fmove{
  142.     cpychk({ 移動先},{
  143.         command({COPY }|objpath|{\}|objfile|{ }|tarfile);
  144.         case(@filechk(tarfile),{Yes},{
  145.             command({DEL }|objpath|{\}|objfile);
  146.         });
  147.     });
  148. };
  149.  
  150. %fren{
  151.     footnote({});
  152.     tarfile:=@input({ 新しいファイル名を入力してください},,objfile);
  153.     case(tarfile<>{},{Yes},{
  154.         case(@filechk(tarfile),
  155.         {Yes},{    select({同じファイル名が既に存在します},10,,
  156.             { 確  認 });
  157.         },{No},{ command({REN }|objpath|{\}|objfile|{ }|tarfile);
  158.         });
  159.     });
  160. };
  161.  
  162. %fsize{
  163.     same(size,{},{     (行数)  (バイト数)\n});
  164. };
  165.  
  166. %fview{
  167.     %viewlzh{
  168.     getarcfile({1},{
  169.         mclose(2);
  170.         footnote({});
  171.         select({ 「}|tarfile|{」をどうしますか?},9999,{YES;
  172.         },{  表 示  },{
  173.             command(lha|{p }|objpath|{\}|objfile|{ }|tarfile|
  174.                 { > }|tmpfile);
  175.             mread(tmpfile,2); mopen(2,0,21,639,459,{w});
  176.             kakunin;
  177.             check(2); mclose(3);
  178.             YES;
  179.         },{  解 凍  },{    
  180.             setcdir2(nowdir);
  181.             period({解凍先});
  182.             %a    @filesel;
  183.             footnote({});
  184.             case(a<>{},{Yes},{
  185.                 askdir;
  186.                 YesNo2({ 「}|tarfile|{」を解凍します},{
  187.                     makedir;
  188.                     nowdir:=@getcdir2;
  189.                     command(lha|{e }|objpath|{\}|objfile|
  190.                     { }|tarfile);
  191.                 });
  192.             });
  193.             YES;
  194.         },{  削 除  },{
  195.             case(@YesNo({ 「}|tarfile|{」を削除してもいいですか?}),
  196.                 {Yes},{    command(lha|{d }|objpath|{\}|objfile|
  197.                         { }|tarfile);
  198.                     case(@filechk(objpath|{\}|objfile),
  199.                     {Yes},{
  200.                        command(lha|{l }|objpath|{\}|
  201.                         objfile|{ > }|tmpfile);
  202.                        mclear(1);
  203.                        mread(tmpfile,1);
  204.                     },{No},{
  205.                        mclear(1);
  206.                        madd(1,{\n\n}|
  207. {      「}|objfile|{」内のファイルはすべて削除されました\n\n}|
  208. {          (「終了」を押してください)\n}
  209.                        );
  210.                     });
  211.                        YES;
  212.                 },{No},{YES;
  213.             });
  214.         },{  終 了  },{YES;
  215.         });
  216.     });
  217.     YES;
  218.     };
  219.     footnote({});
  220.     case(@tail(objfile,{.})={LZH} || @tail(objfile,{.})={EXE},
  221.     {No},{    mread(objfile);
  222.         mopen(1,0,21,639,459,{w});
  223.         footnote({終了},{b});
  224.         loop({waitx(9999); im(@PFK(@xtype)!=101)});
  225. /*         check(1); mclose(2);
  226.         footnote({});
  227.         case(@YesNo({ memoの内容をファイルに書き出しますか?}),{Yes},{
  228.             cpychk({},{mwrite(tarfile,1)});
  229.         });  */
  230.         allclear;
  231.     },{Yes},{
  232.         nowdir:=@getcdir2;
  233.         command(lha|{l }|objpath|{\}|objfile|{ > }|tmpfile);
  234.         mread(tmpfile);
  235.         mopen(1,0,21,639,459,{r});
  236.         loop({
  237.             footnote({終了決定},{b});
  238.             check(1);
  239.             waitx();
  240.             case(    @PFK(@xtype),
  241.                 1,{ viewlzh;
  242.                 },101,{    NO;
  243.                 },102,{    viewlzh;
  244.                 },,{ YES;
  245.             });
  246.         });
  247.         delmemo;
  248.         footnote({});
  249.         command({DEL }|tmpfile);
  250.         setcdir2(nowdir);
  251.         NO;
  252.     });
  253. };
  254.  
  255. %farc{
  256.     footnote({ 「}|objfile|{」の凍結先ファイル名を指定してください}|
  257.     { (「.」で同ファイル名)});
  258.     tarfile:=@filesel;
  259.     case(tarfile<>{},{Yes},{
  260.         case(tarfile={.} || tarfile={.},{Yes},{
  261.             tarfile:=@head(objfile,{.})});
  262.         footnote({});
  263.         display({\n\n});
  264.         command(lha|{a }|lhadir|tarfile|{ }|objpath|{\}|objfile);
  265.     });
  266. };
  267.  
  268. %fext{
  269.     case( @tail(objfile,{.})={LZH} || @tail(objfile,{.})={EXE},{Yes},{
  270.     period({解凍先});
  271.     %a    @filesel;
  272.     footnote({});
  273.     askdir;
  274.     case(a<>{},{Yes},{
  275.         command(lha|{l }|objpath|{\}|objfile);
  276.         %b @input({  解凍ファイルを入力してください.\n}|
  277.             {  空白で区切って複数入力できます.\n}|
  278.             {    例「NYAN_E_A.PLP NYAN_E_V.PLP」\n}|
  279.             {  空入力またはマウス右ボタンで,全ファイル解凍});
  280.         YesNo2({「}|@getcdir2|newdir2|{」 配下に解凍します.},{
  281.             makedir;
  282.             command(lha|{x }|objpath|{\}|objfile|{ }|b);
  283.         });
  284.     });
  285.     });
  286. };
  287.  
  288. %farl{
  289.     same(lha|{l },{},{});
  290.     kakunin;
  291. };
  292.  
  293. %fsekika{
  294.     same(ish,{ /ss /m},{});
  295. };
  296.  
  297. %fkaiseki{
  298.     same(ish,{},{});
  299. };
  300.  
  301. %fmanager{
  302.     loop({
  303.     footnote({処理対象ファイルを選択してください.}|
  304.             {前回選択したのは「}|objfile|{」です});
  305.     tarfile:=objfile;
  306.     objfile:=@filesel;
  307.     footnote({});
  308.     case(objfile={.} || objfile={.},{Yes},{
  309.         setcdir2(objpath); objfile:=tarfile});
  310.     case(objfile<>{},
  311.     {Yes},{
  312.         objpath:=@getcdir2;
  313.         case(@body(objfile,{.}),
  314.              {LZH},{footnote({「解 凍」を選んでください}|
  315.                 { (}|right|{)});
  316.              },{ISH},{footnote({「解 石」を選んでください}|
  317.                   { (}|right|{)});
  318.              },,{footnote({ }|right);
  319.         });
  320.         select(
  321.             { 処理を指定してください.対象ファイルは「}|objfile|{」です},
  322.             9999,{NO;
  323.             },{ 複 写 },{fcopy; YES;
  324.             },{ 削 除 },{fdel; YES;
  325.             },{ 移 動 },{fmove; YES;
  326.             },{ 改 名 },{fren; YES;
  327.             },{ 大きさ},{fsize; YES;
  328.             },{ 表 示 },{fview; YES;
  329.             },{ 凍 結 },{farc; YES;
  330.             },{ 解 凍 },{fext; YES;
  331.             },{ 一 覧 },{farl; YES;
  332.             },{ 石 化 },{fsekika; YES;
  333.             },{ 解 石 },{fkaiseki; YES;
  334.             },{ 再選択},{YES;
  335.     /*        },{ 先 頭 },{HeadTail({head}); YES;*/
  336.     /*        },{ 末 尾 },{HeadTail({tail}); YES;*/
  337.         });
  338.     },{No},{NO;
  339.     });
  340.     });
  341.     footnote({});
  342. };
  343.  
  344. %Deldir{
  345.     Dsame({DIR });
  346.     case(@YesNo({ 「}|objpath|{」 以下をすべてを削除します}),{Yes},{
  347.         command({CD ..});
  348.         command({echo Y | }|deldir|objpath);
  349.     });
  350. };
  351.  
  352. %Ddelf{
  353.     Dsame({DIR });
  354.     case(@YesNo({ 「}|objpath|{」 配下の全ファイルを削除します}),{Yes},{
  355.         command({echo Y | DEL *.*});
  356.     });
  357. };
  358.  
  359. %Dmake{
  360.     footnote({});
  361.     objfile:=@input({ 新ディレクトリ名を入力してください});
  362.     command({MD }|objpath|{\}|objfile);
  363. };
  364.  
  365. %Ddel{
  366.     footnote({});
  367.     objfile:=@tail(objpath,{\});
  368.     command({CD ..});command({RD }|objfile);
  369. };
  370.  
  371. %Dtree{
  372.     Dsame(tree);
  373. };
  374.  
  375. %Darc{
  376.     footnote({});
  377.     objfile:=@tail(objpath,{\});
  378.     command({DIR }|objpath);
  379.     footnote({ 「}|objfile|{」の凍結先ファイル名を入力してください}|
  380.         { (「.」で元ディレクトリと同名)});
  381.     tarfile:=@filesel;
  382.     tarpath:=@getcdir2;
  383.     case(tarfile<>{},{Yes},{
  384.         case(tarfile={.} || tarfile={.},{Yes},{tarfile:=objfile});
  385.         case(@filechk(tarpath|{\}|@head(tarfile,{.})|{.LZH}),{Yes},{
  386.             command(lha|{l }|tarpath|{\}|tarfile);
  387.             kakunin;
  388.         });
  389.         display({\n\n});
  390.         case(@YesNo({ 「}|objfile|{」を凍結します}),{Yes},{
  391.             command(lha|{u -x1 -r2 }|lhadir|tarpath|{\}|tarfile|
  392.                 { }|@body(objpath,,{\})|{\ }|objfile);
  393.         });
  394.     });
  395. };
  396.  
  397. %Dir{
  398.     Dsame({DIR });
  399. };
  400.  
  401. %Duse{
  402.     Dsame(dirsize);
  403. };
  404.  
  405. %Dcopy{
  406.     footnote({});
  407.     command(dirsize|objpath);
  408.     wait(1);
  409.     footnote({ 「}|objpath|{」 の複写先で,ピリオド「.」を入力してください});
  410.     %a    @filesel;
  411.     footnote({});
  412.     case(a<>{},{Yes},{
  413.         tarpath:=@getcdir2|{\}|@tail(objpath,{\});
  414.         footnote({ 「}|objpath|{」以下を「}|@getcdir|{」配下に複写します});
  415.         display({\n});
  416.         command(remain|@head(tarpath,{\}));
  417.         display({\n});
  418.         YesNo2({ 複写してもいいですか?},
  419.             {command({echo Y | }|dircopy|objpath|{ }|tarpath);
  420.         });
  421.     });
  422. };
  423.  
  424. %dmanager{
  425.     loop({
  426.         period({目的});
  427.         %a    @filesel;
  428.         footnote({});
  429.         case(a<>{},
  430.         {Yes},{
  431.             objpath:=@getcdir2;
  432.             footnote({ }|right);
  433.             select(
  434.             { 「}|objpath|{」 の処理を指定してください},9999,{ NO;
  435.             },{       ディレクトリごと削除       },{Deldir; YES;
  436.             },{  ディレクトリ下の全ファイル削除  },{Ddelf; YES;
  437.             },{        ディレクトリの作成        },{Dmake; YES;
  438.             },{        ディレクトリの削除        },{Ddel; YES;
  439.             },{          ツリー図の表示          },{Dtree; YES;
  440.             },{       ディレクトリごと凍結       },{Darc; YES;
  441.         /*    },{         ファイルの情報         },{Dir; YES;*/
  442.             },{       ディレクトリのサイズ       },{Duse; YES;
  443.             },{        ディレクトリの複写        },{Dcopy; YES;
  444.             },{             再 選 択             },{YES;
  445.             });
  446.         },{No},{NO;
  447.         });
  448.     });
  449.     footnote({});
  450. };
  451.  
  452. %FDformat{
  453.     %A    {A:};
  454.     %B    {B:};
  455.     %FDform{[DRIVE]
  456.         command({DIR }|DRIVE|{ /W});
  457.         kakunin;
  458.         case(@YesNo({ 初期化していいですか?}),{Yes},{
  459.             nowdir:=@getcdir2;
  460.             objfile:=@input({ ボリュームラベルを入力してください});
  461.             display({\n\n});
  462.             setcdir2(current);
  463.             write(tmpfile,{\n}|objfile|{\n}|{n\n});
  464.             command(format|DRIVE|{ /C < }|tmpfile);
  465.             command({DEL }|tmpfile);
  466.             setcdir2(nowdir);
  467.         });
  468.     };
  469.     loop({
  470.         select(
  471.         { 初期化するドライブを選択してください},9999,{NO;
  472.         },{   A   },{FDform(A);YES;
  473.         },{   B   },{FDform(B);YES;
  474.         },{ 終  了 },{NO;
  475.         });
  476.     });
  477. };
  478.  
  479. %FDcopy{
  480.     case(@YesNo({ A → B に複写をします}),{Yes},{
  481.         command({DIR B: /W});
  482.         kakunin;
  483.         case(@YesNo({ 複写してもいいですか?}),{Yes},{
  484.             display({\n\n});
  485.             write(tmpfile,{\n}|{n\n});
  486.             command(diskcopy|{A: B: < }|tmpfile);
  487.             command({DEL }|tmpfile);
  488.         });
  489.     });
  490. };
  491.  
  492. %Remain{
  493.     footnote({ 表示ドライブへ移動し,ピリオド「.」を入力してください});
  494.     %a @filesel;
  495.     footnote({});
  496.     case(a<>{},{Yes},{
  497.         objpath:=@head(@getcdir,{\});
  498.         display({\n\n});
  499.         command(remain|objpath);
  500.         kakunin;
  501.     });
  502. };
  503.  
  504. %fdmanager{
  505.     loop({
  506.         select(
  507.         { 処理を指定してください.},9999,{ NO;
  508.         },{  フロッピーディスクの初期化  },{FDformat;YES;
  509.         },{  フロッピーディスクの複写    },{FDcopy;YES;
  510.         },{        残り容量の表示        },{Remain;YES;
  511.     /*    },{          終      了          },{NO;    */
  512.         });
  513.     });
  514. };
  515.  
  516. %console{
  517.     loop({
  518.         select(
  519.         { 処理を選択してください},99999,{ NO;
  520.         },{       コマンドライン       },{
  521.             footnote({ コマンド実行モード中 (「EXIT」で終了します)});
  522.             command({c:\command.com});
  523.             YES;
  524.         },{        コマンド選択        },{
  525.             footnote({ ファイルを選択してください});
  526.             objfile:=@filesel;
  527.             objpath:=@getcdir2;
  528.             footnote({});
  529.             tarpath:=@input({コマンドを完成させてください}
  530.                     ,,{ }|objpath|{\}|objfile|{ });
  531.             command(tarpath);
  532.             YES;
  533.     /*    },{         終      了         },{NO;    */
  534.         });
  535.     });
  536. };
  537.  
  538. /*
  539. ** MultiFile Manager
  540. */
  541.  
  542. %multi{
  543.     loop({
  544.         objfile:=@filesel;
  545.         objpath:=@getcdir2;
  546.         case(objfile<>{},
  547.         {Yes},{    case(@mlast<>0,{Yes},{mclose(1);});
  548.             madd(1,objpath|{\}|objfile|{\n});
  549.             mopen(1,0,132,369,449,{w});
  550.             YES;
  551.         },{No},{case(@mlast<>0,
  552.             {Yes},{    kakunin;
  553.                 check(1); mclose(1);
  554.                 NO;
  555.             },{No},{NO;
  556.             });
  557.         });
  558.     });
  559.     max:=@nolmemo(1);
  560.     now:={1};
  561. };
  562.  
  563. %Count{[OPR]
  564.     mopen(1); mclose(2);
  565.     loop({
  566.         case(max > now,
  567.         {Yes},{
  568.             tarpath:=@memo(1,now,1);
  569.             case(tarpath<>{},{Yes},{OPR});
  570.             now:=now+1;
  571.             YES;
  572.         },{No},{ NO;
  573.         });
  574.     });
  575. };
  576.  
  577. %fscopy{
  578.     fsmsg({複写});
  579.     multi;
  580.     case(@mlast<>0,{Yes},{
  581.         period({複写先});
  582.         %a    @filesel;
  583.         footnote({});
  584.         case(a<>{},{Yes},{
  585.             YesNo3( { 「}|@getcdir2|{」 }|{配下に複写},{
  586.                 Count({command({COPY }|tarpath)});
  587.             });
  588.         });
  589.         delmemo;
  590.     });
  591.     footnote({});
  592. };
  593.  
  594. %fsdel{
  595.     fsmsg({削除});
  596.     multi;
  597.     case(@mlast<>0,{Yes},{
  598.         YesNo3( {削除},{
  599.             Count({command({DEL }|tarpath)});
  600.         });
  601.         delmemo;
  602.     });
  603.     footnote({});
  604. };
  605.  
  606. %fsmove{
  607.     fsmsg({移動});
  608.     multi;
  609.     case(@mlast<>0,{Yes},{
  610.         period({移動先});
  611.         %a    @filesel;
  612.         footnote({});
  613.         case(a<>{},{Yes},{
  614.             %NDir    @getcdir2;
  615.             YesNo3({ 「}|NDir|{」 }|{配下に移動},{
  616.                 Count({
  617.                     case(@body(tarpath,,{\})<>NDir,{Yes},{
  618.                         command(move|tarpath);
  619.                     });
  620.                 });
  621.             });
  622.         });
  623.         delmemo;
  624.     });
  625.     footnote({});
  626. };
  627.  
  628. %fsarc{
  629.     var arcpath[80];
  630.     fsmsg({凍結});
  631.     multi;
  632.     case(@mlast<>0,{Yes},{
  633.         footnote({ 凍結ファイル名を入力してください (「.LZH」は不要)});
  634.         loop({
  635.             tarfile:=@filesel;
  636.             im(tarfile={.} || tarfile={.});
  637.         });
  638.         footnote({});
  639.         arcpath:=@getcdir2;
  640.         case(tarfile<>{},{Yes},{
  641.             YesNo3({凍結},{
  642.             Count({
  643.                 command(lha|{a }|lhadir|arcpath|{\}|
  644.                     @head(tarfile,{.})|{ }|tarpath);
  645.             });
  646.             });
  647.         });
  648.         delmemo;
  649.     });
  650.     footnote({});
  651. };
  652.  
  653. %fsext{
  654.         %getlzh{
  655.         check(2);
  656.         getarcfile({2},{
  657.             mclose(1);
  658.              madd(1,tarfile|{\n});
  659.             mopen(1); mclose(1); mopen(2);
  660.         });
  661.         };
  662.     %allext{
  663.         case(@mcheck,{1},{mclose(1)},{2},{mclose(1)});
  664.         mclear(1);
  665.         extfile;
  666.     };
  667.  
  668.     %extfile{
  669.         check(1); mclose(2); mclose(2);
  670.         period({解凍先});
  671.         %a @filesel;
  672.         footnote({});
  673.         case(a<>{},{Yes},{
  674.             askdir;
  675.             YesNo3({ 「}|@getcdir2|newdir2|{」 配下に解凍},{
  676.             makedir;
  677.             nowdir:=@getcdir2;
  678.             case(@nolmemo(1)=0,
  679.             {Yes},{
  680.                 command(lha|{e }|objpath|{\}|objfile);
  681.             },{No},{
  682.                 max:=@nolmemo(1);
  683.                 now:={1};
  684.                 Count({
  685.                     command(lha|{e }|objpath|{\}|objfile|
  686.                         { }|tarpath);
  687.                 });
  688.             });
  689.             });
  690.         });
  691.     };
  692.  
  693.     %out{
  694.         case(@nolmemo(1)<>0,{Yes},{extfile});
  695.         footnote({});
  696.     };
  697.  
  698.     fsmsg({解凍});
  699.     objfile:=@filesel;
  700.     objpath:=@getcdir2;
  701.     case(objfile<>{} && @tail(objfile,{.})={LZH} ||
  702.                 objfile<>{} && @tail(objfile,{.})={EXE},{Yes},{
  703.         nowdir:=@getcdir2;
  704.         command(lha|{l }|objpath|{\}|objfile|{ > }|tmpfile);
  705.         madd(1,{}); mopen(1,0,266,639,459,{w}); mclose(1);
  706.         mread(tmpfile,2); mopen(2,0,21,639,265,{w});
  707.         footnote({終了選択全部},{b});
  708.         loop({
  709.             waitx();
  710.             case(    @PFK(@xtype),
  711.                     2,{ getlzh; YES;
  712.                 },101,{ out; NO;
  713.                 },102,{ getlzh; YES;
  714.                 },103,{ allext; NO;
  715.                 },,{ YES;
  716.             });
  717.         });
  718.         allclear;
  719.         command({DEL }|tmpfile);
  720.         setcdir2(nowdir);
  721.     });
  722.     footnote({});
  723. };
  724.  
  725. %files{
  726.     var max[2];
  727.     var now[2];
  728.  
  729.     %YesNo3{[MSG,CMD]
  730.         case(@mlast<>0,
  731.         {Yes},{
  732.             loop({
  733.                 select({ ファイルを}|MSG|{します},
  734.                 9999,{YES;
  735.                 },{ O K },{ CMD;
  736.                 },{ N G },{    NO;
  737.                 });
  738.             });
  739.         });
  740.     };
  741.  
  742.     loop({
  743.         footnote({ }|right);
  744.         select({ 処理を指定してください},9999,{ NO;
  745.         },{  複 写  },{fscopy; YES;
  746.         },{  削 除  },{fsdel; YES;
  747.         },{  移 動  },{fsmove; YES;
  748.         },{  凍 結  },{fsarc; YES;
  749.         },{  解 凍  },{fsext; YES;
  750.             });
  751.         footnote({});
  752.     });
  753. };
  754.  
  755. footnote({});
  756. allclear;
  757.  
  758. loop({
  759.     select({ 処理を指定してください},9999,{ YES;
  760.     },{      複数ファイルの操作      },{files; YES;
  761.     },{       コンソールモード       },{console; YES;
  762.     },{      フロッピーディスクの操作       },{fdmanager; YES;
  763.     },{      ディレクトリの操作      },{dmanager; YES;
  764.     },{        ファイルの操作        },{fmanager; YES;
  765.     },{     メインメニューへ戻る     },{NO;
  766.     });
  767. });
  768.